/**
 * reset.html
 * controllers
 * 1.手机号码/邮箱重新输入（获取焦点），去除所有错误控制信息 密码 验证码
 * 2.手机号码/邮箱判定是否合法（移除焦点），如果合法，则可以获取验证码/否则显示错误信息。
 * 3.两个框都有值的情况，重置按钮显示正常
 * 4.发送验证码之后，显示倒计时60秒。
 * 5.登录按钮跳转事件
 * 6.注册按钮跳转事件
 * 7.重置按钮跳转事件
 */

var rootPath = getRootPath();
var isRightPhoneNum = false;//是否是正确的手机号/邮箱
var flag = 0;//判断是手机号还是邮箱,1为手机号,2为邮箱

$(function() {
	sensors.track('Adreambox_Login', {
		entrance : getEntranceByUrlAndUrlParam(parent.location.href,"service"),
		page_type : '重置密码页'
	});
	//解决苹果手机登录、注册、绑定微信页面的触发input输入框焦点  页面放大问题
	banTouches();
	let bodyHeight = document.documentElement.clientHeight;
	$('.body').css("height",bodyHeight+"px");
	$(document).scroll(function() { // 页面加载时，获取滚动条初始高度
		var distance = document.body.scrollHeight; // 获取滚动条初始高度的值 ：0
		console.log(distance); // 打印滚动条不同高度的位置的值
		$(".body").height(distance);

	})
	/*window.onresize = function() {
		setTimeout(function() { // 使用 setTimeout（）方法设定定时2000毫秒
			window.location.reload();// 页面刷新
		}, 500);
	}*/
	//1.手机号码/邮箱重新输入(获取焦点),去除所有错误控制信息
	$("#phone_input").focus(function(){
		//$(this).val("");
		hideMsg();
		isRightPhoneNum = false;
		$("#message_checkcode_text").val("");
	});
	
	//2.手机号码/邮箱,图片验证码判定是否合法（移除焦点），如果合法，则可以获取验证码/否则显示错误信息。
//	$("#phone_input,#checkcode_text_phone").bind('input propertychange',  function(){
//		if(isPhoneAvailable($("#phone_input").val()) && $.trim($("#checkcode_text_phone").val()).length == 4){
//			flag = 1;  //手机号
//			isRightPhoneNum = true;
//			$("#checkcode_get_code").css({"color":"#B4282D","cursor":"pointer"});
//		}else if(checkEmail($("#phone_input").val()) && $.trim($("#checkcode_text_phone").val()).length == 4){
//			flag = 2;  //邮箱
//			isRightPhoneNum = true;
//			$("#checkcode_get_code").css({"color":"#B4282D","cursor":"pointer"});
//		}else{
//			flag = 0;
//			$("#checkcode_get_code").css({"color":"#bbbbbb","cursor":"default"});
//		}
//	});	
	
	$("#phone_input,#checkcode_text_phone").blur(function(){
//		if(flag == 0){
//			showErrMsg("请填写有效的手机号码或者邮箱");
//		}
		
		if(isPhoneAvailable($("#phone_input").val())) {
			flag = 1;	//手机号
			isRightPhoneNum = true;
		} else if(checkEmail($("#phone_input").val())) {
			flag = 2;  //邮箱
			isRightPhoneNum = true;
		} else {
			flag = 0;
			showErrMsg("请填写有效的手机号码或邮箱");
			$("#checkcode_get_code").css({"color":"#bbbbbb","cursor":"default"});
			return;
		}
		if($("#checkcode_text_phone").val() == '' || $.trim($("#checkcode_text_phone").val()).length < 4) {			
			$("#checkcode_get_code").css({"color":"#bbbbbb","cursor":"default"});
		} else {
			$("#checkcode_get_code").css({"color":"#B4282D","cursor":"pointer"});
		}
	});
	
	//3.两个框都有值的情况，重置按钮显示正常
	$("#phone_input,#checkcode_text_phone,#message_checkcode_text").bind('input propertychange',  function(){
		if($.isEmptyObject($("#phone_input").val())
				|| $("#checkcode_text_phone").val() == ''
				|| $.trim($("#checkcode_text_phone").val()).length < 4
				|| $.isEmptyObject($("#message_checkcode_text").val())
				|| $.trim($("#message_checkcode_text").val()) == ''
				|| ($.trim($("#message_checkcode_text").val()).length < 4)
				|| !isRightPhoneNum){
			$("#password_reset_click").css({"background-color":"#bbbbbb","cursor":"default"});
			$("#password_reset_click").removeClass("active");
		}else{
			$("#password_reset_click").css({"background-color":"#B4282D","cursor":"pointer"});
			$("#password_reset_click").addClass("active");
		}

	});
	
	//4.发送验证码之后，显示倒计时60秒。
	$("#checkcode_get_code").click(getCheckCode);
	
	//5.登录按钮
	$("#password_login_btn").click(goLogin);
	
	//6. 注册按钮
	$("#password_reg_click").click(goRegister);
	
	//7. 重置按钮
	$("#password_reset_click").click(function() {
		if(!$(this).hasClass("active")) {
			return;
		}
		goResetPassword();
	});
	
	$("#code_img_phone,#next_phone").click(refreshCheckCodePhone);
	refreshCheckCodePhone();
});

//刷新验证码
function refreshCheckCodePhone() {
	$("#code_img_phone").attr("src", '/account/captcha.jpg?tm=' + Math.random());
}

//获得验证码接口 
function getCheckCode() {
	if(!isRightPhoneNum){
		return;
	}
	if($.isEmptyObject($("#phone_input").val())){
		showErrMsg("请输入手机号/邮箱。");
		return;
	}
	if($.isEmptyObject($("#checkcode_text_phone").val())
			|| $.trim($("#checkcode_text_phone").val()).length < 4){
		showErrMsg("请输入正确的图片验证码。");
		return;
	}
	//倒计时中不能发送
	var countdown = $("#checkcode_get_code").attr("countdown");
	if(!$.isEmptyObject(countdown) && countdown>0){
		return;
	}
	
	showErrMsg("正在发送,请稍等");
	setTime($("#checkcode_get_code"));
	
	if(flag == 1){
		//神策数据 埋点
		sensors.track('Adreambox_SmsGet', {
			current_business : '忘记密码',
			get_type : '手机'
		});
		$.ajax({
		   	type: "get",
	        url: rootPath + "/userFront/sendCodeSmsValidate",
	        data: { 
	        	"phone" : $("#phone_input").val(),
	        	"flag":"1",
	        	"checkCode" : $("#checkcode_text_phone").val()
	        },
	        async : true,
	        dataType: "json",
	        success: function (data) {
        		showErrMsg(data.returnMessage);
	        },
	        error:function (jqXHR, textStatus, errorThrown) {      
	        	showErrMsg("发送验证码失败，请检查您的网络。");
	        }
		});
	}else if(flag == 2){
		//神策数据 埋点
		sensors.track('Adreambox_SmsGet', {
			current_business : '忘记密码',
			get_type : '邮箱'
		});
		var email = $("#phone_input").val();
		$.ajax({
		   	type: "get",
	        url: rootPath + '/userFront/sendCodeEmailValidate?email="'+email+'"',
	        data: {
	        	"flag":"1"
	        },
	        async : true,
	        dataType: "json",
	        success: function (data) {
	        	showErrMsg(data.returnMessage);
	        },
	        error:function (jqXHR, textStatus, errorThrown) {      
	        	showErrMsg("发送验证码失败，请检查您的网络。");
	        }
		});
	} else { 
		return;
	}
}

//验证码倒计时
function setTime(obj) {
	var countdown = obj.attr("countdown");
	if($.isEmptyObject(countdown) || countdown == 0) {
		countdown = 60;
	}
	var interval = setInterval(function() {
		countdown--;
		obj.attr("countdown",countdown);
		if(countdown == 0){
			obj.css({"color":"#B4282D","cursor":"pointer"});
	        obj.attr('disabled',false); 
	        obj.text("获取验证码");
			window.clearInterval(interval);
		} else {
			obj.css({"color":"#bbbbbb","cursor":"default"});
	        obj.attr('disabled',true);
	        obj.text("重新发送(" + countdown + ")");
		}
	}, 1000);
}


// 去登录页面
function goLogin() {
	var parentUrl = parent.location.href;
	parent.location.href = parentUrl.indexOf("msg") != -1 ? parentUrl.substring(0,parentUrl.indexOf("msg") - 1) : parentUrl;
//	var url = "./login.html";
//	document.location.href=url;
}

//去注册页面
function goRegister() {
	var url = "./reg.html";
	document.location.href=url;
}

//去重置密码页面
function goResetPassword() {
	
	if($("#message_checkcode_text").val() == '') {
		showErrMsg("验证码不能为空。");
		return;
	}
	var code = $("#message_checkcode_text").val();
	var phone_email = $("#phone_input").val();
	var str = "";
	if(flag == 1){
		str = "/api/validate/phone";
	}else if(flag == 2){
		str = "/api/validate/email";
	}else{
		return;
	}
	
	$.ajax({
	   	type: "post",
        url: rootPath + str,
        data: { 
        	"code" : code,
        	"email" : phone_email,
        	"phone" : phone_email,
        },
        async : true,
        dataType: "json",
        success: function (data)
        {
        	if("0000"== data.returnCode){
        		document.location.href="./resetPassword.html";
        	}else{
        		showErrMsg(data.returnObject);
	        }
        },
        error:function (jqXHR, textStatus, errorThrown) {      
        	showErrMsg("发送验证码失败，请检查您的网络。");
        }
	});
	
}

/**
 * 显示错误框
 * @param msg
 * @returns
 */
function showErrMsg(msg){
	if(!$.isEmptyObject(msg)){
		$("#phone_msg").text(msg);
		$("#password_layer .msg").show();
	}
}

/**
 * 隐藏错误框
 * @returns
 */
function hideMsg() {
	$("#phone_msg").text("");
	$("#password_layer .msg").hide();
}
